◄ RAID چيست؟
RAID مخفف Redundant Array of Independent Disks به معني آرايه پشتيبان ديسکهاي مستقل است. البته معني لغتي آن در انگليسي، يورش است. اين مفهوم بار اول در سال ۱۹۸۷، توسط تيمي سه نفره در دانشگاه کاليفرنيا البته با نام آرايه ديسکهاي پشتيبان ارزان Inexpensive به جاي(Independent) مطرح شد. در سالهاي بعد سازندگان سختافزار آن را به صورت امروزي در آوردند تا توقع قيمت ارزان را از فناوري RAID برطرف کنند. امروزه کاربرد RAID گسترش بييشتري نسبت به معناي آن يافته و فناوري خاصي را تحت پوشش قرار ميدهد که قابليت تقسيم و کپي اطلاعات را بين چندين ديسک دارد.
کلمه ديسک مطرح شد و يادم آمد که استفاده کنوني اين کلمه هم از معناي لغوي اين کلمه فراتر رفته است. ديسک به معناي دايره يا هر صفحه گرد است. تا مدتها اين نام با مسمي بود، زيرا هاردديسک، ديسک فشرده و فلاپي ديسک هر سه داراي صفحات گرد براي ذخيره اطلاعات بودند و ديسک درون آنها منبع ذخيره اطلاعات بود. اما امروزه در SSDها و فلش ديسکها، ديگر اثري از صفحات گرد نيستند و اين کلمه مفهومي متفاوت نسبت به معناي لغوي آن پيدا کرده است.
در مورد RAID هم همين موضوع صدق ميکند. مفهوم اين کلمه گستردهتر از معناي لغوي کلمات تشکيل دهنده اين مخفف است. اين فناوري ميتواند براي افزايش امنيت ذخيره داده و يا افزايش کارايي خواندن از و نوشتن روي ديسکها به کار برود.
وقتي چند ديسک براي استفاده از فناوري RAID تنظيم ميشوند، گفته ميشود که آنها در يک آرايه RAID قرار گرفتهاند. فناوري خاص آرايه را با عدد دنباله کلمه RAID مشخص ميکنند. براي مثال RAID0 يا RAID1. هر فناوري براي اهدافي خاص به کار گرفته ميشود که اين اهداف ممکن است امنيت و اطمينان بيشتر ذخيره داده، سرعت و کارايي بالاتر و يا ترکيبي از اين دو باشد.
سيستمعامل و متعاقب آن کاربر، آرايه RAID را با اين که از چند ديسک تشکيل شده، به عنوان يک ديسک شناسايي ميکنند. در حقيقت سيستمعامل بدون اين که از فناوري پشت اين آرايه با خبر باشد با آن مانند يک ديسک مستقل رفتار ميکند. هرچند اين فناوري ممکن است در محيط سيستمعامل از طريق نرمافزارهاي خاص قابل تنظيم و بررسي باشد اما نحوه خواندن و نوشتن و مسايل ديگر مرتبط به ديسکها در آرايه RAID با ديسکهاي مستقل براي ويندوز فرقي نميکند.
سه مفهوم در فناوري RAID مطرح است که عبارتند از: Mirroring، Striping و Parity. Mirroring با معناي کاربردي کپي دقيقا يکسان اطلاعات استفاده ميشود. Striping با مفهوم تقسيم داده به صورت موازي و مساوي به کار ميرود. Parity به معني صحت داده مورد استفاده قرار ميگيرد.
◄ آرايههاي ترکيبي:
براي دستيابي به کارايي بالاتر و يا امنيت بيشتر ميتوان انواع آرايهها را با هم ترکيب کرد. از انواع آرايههاي ترکيبي متداول ميتوان به ۰+۱، ۱+۰ و ۵ +۰ اشاره کرد.
کنترل کننده RAID مشخص ميکند که ميتوانيد از کدام از انواع RAID استفاده کنيد. براي مثال تراشه ICH10R شرکت اينتل که به وفور در مادربوردهاي بر اساس اين تراشه ديده ميشود، از انواع ۰ و ۱ و ۵ و ۰+۱ آرايه پشتيباني ميکند. در ضمن معمولا براي تنظيم کنترلکننده RAID از طريق نرمافزار خاص کنترلکننده عمل ميکند. اين نرمافزار يا در سيستمعامل تحت پشتيباني نصب ميشود و يا بعد از پست اوليه کامپيوتر اجرا ميشود و از طريق کليدهاي ترکيبي مانند Ctrl+I در کنترل کننده ICHX اينتل در دسترس است. نرمافزار تحت ويندوز اينتل براي تنظيم کنترلکننده RAID، Matrix Storage Manager نام داشت که اکنون به Rapid Storage تغيير نام پيدا کرده است.
RAID نبايد با پشتيبانگيري اشتباه گرفته شود. به جز اعضاي آرايه RAID1، هيچ کدام از ديسکهاي عضو آرايهها به تنهايي قابل استفاده در کامپيوتر نيستند. از آنجا که تقسيم و نوشتن داده در ديسکهاي عضو آرايه در سطح بلاک داده است، نميتوان براي استفاده از بخشي از اطلاعات براي مثال يک ديسک از آرايه ۴ ديسکي RAID0 را برداشت. در حاليکه نسخه پشتيبان صرفا براي استفاده مستقل تهيه ميشود.
RAID به دو صورت نرمافزاري و سخت افزاري قابل اجراست. در حالت سختافزاري کنترلکننده سختافزاري که تراشهاي خاص به همين منظور است، امور را به دست ميگيرد. در حالت نرمافزاري سيستمعامل کاري مشابه را روي ديسکها انجام ميدهد. در حال حاضر ويندوز XP، ويستا و ۷ قابليت پشتيباني از آرايههاي نوع ۰ و ۱ و ترکيبي از آنها را دارد و سرور ۲۰۰۳ و ۲۰۰۸ علاوه بر اين نوع ۵ را هم پشتيباني ميکند.
RAID در ابتدا براي استفاده در ديسکهاي SCSI مطرح شد اما با گذشت زمان و پيشرفت فناوري در ديسکهاي IDE حضوري ناموفق يافت و بعد از آن با ديسکهاي SATA به اوج خود رسيد. شما هم در خريد مادربورد و ديسکهاي خود استفاده از اين فناوري قدرتمند را در نظر بگيريد.
◄ (RAID0 (Striping
در اين نوع آرايه تنها Striping مورد استفاده قرار ميگيرد و از Parity و Mirroring استفاده نميشود. بنابراين هيچگونه اطلاعات پشتيبان و هيچ امکان تصحيح خطايي وجود ندارد. در حقيقت با مقايسه اين آرايه با معني و مفهوم کلمات مخفف شده RAID متوجه ميشويم که RAID0 اصلا از اين معاني پيروي نميکند و ميشود گفت RAID نيست. اما با توجه به اشتراکاتي که با فناوري RAID از جمله افزايش کارآبي، نياز به کنترلکننده خاص و به کارگيري ديسکها در آرايه دارد، در اين فناوري دستهبندي ميشود. در اين نوع، داده در قالب بلاک داده يا همان استريپ به تعداد ديسکها تقسيم شده و در آنها نوشته ميشود. در هنگام خواندن هم بلاکهاي داده از تمامي هاردها خوانده ميشود. اين امر سرعت خواندن و نوشتن را به صورت تئوري به مرتبه تعداد ديسکها افزايش ميدهد. براي مثال اگر از ۳ ديسک استفاده کنيم، به طور نظري سرعت خواندن از و نوشتن روي ديسک تا ۳ برابر افزايش مييابد هرچند در عمل به دلايل مختلف از جمله تاخير خواندن و نوشتن بين ديسکها و زمان پردازش داده،اين امر محقق نميشود. در ضمن فضاي آرايه برابر مجموع فضاي ديسکهاست. در RAID0 حداقل ۲ ديسک نياز است.
مزايا: کارايي خواندن و نوشتن بسيار بالا، به دست آمدن بالاترين فضاي ممکن معادل کل فضاي ديسکها، افزايش کارايي با افزايش تعداد ديسکها
معايب: امنيت پايين (از بين رفتن کليه اطلاعات در صورت آسيب ديدن يک ديسک از آرايه)، عدم تصحيح خطا، کاهش امنيت با افزايش تعداد ديسکهاي عضو آرايه
کاربرد: سيستمهاي بازي و چند رسانهاي، سرور کش (Cache Server) و کلا هرجايي که کارايي بسيار مهم و امنيت داده اهميت کمتري دارد و يا پشتيبانگيري منظم و کافي انجام ميگيرد.
◄ (RAID1 (Mirroring:
اين فناوري در حقيقت Mirroring تنها است. در اين حالت اطلاعات يکسان همزمان روي ديسکها نوشته ميشوند. در هنگام خواندن بخشهاي مختلف اطلاعات از ديسکها خوانده ميشود. اگر مشکلي براي ديسکهاي آرايه پيش بيايد، تا زمانيکه فقط يکي از ديسکها باقي است، خطري اطلاعات را تهديد نميکند. در تئوري، سرعت نوشتن آن با يکي از ديسکها يکسان ولي سرعت خواندن آن ضريبي معادل تعداد ديسکها پيدا ميکند. با توجه به دلايل گفته شده در RAID0، در عمل سرعت نوشتن در RAID نوع ۱ کمتر از يک ديسک و سرعت خواندن آن هم به ضريب تعداد آنها نميرسد. فضاي آرايه برابر يکي از ديسکهاي عضو آرايه ميشود. مثلا اگر ۳ ديسک ۱ ترابايتي در آرايه شرکت کنند، فضاي حاصل برابر ۱ ترابايت خواهد بود.در اين حالت از RAID هم حداقل ۲ ديسک مورد نياز است البته معمولا بيشتر از آن هم استفاده نميشود، زيرا اطلاعات ديسکهاي عضو آرايه دقيقا يکسان است.
مزايا: امنيت بالاي اطلاعات، سرعت خواندن بالا
معايب: از دست رفتن فضاي زياد در برابر امنيت
کاربرد: سيستمعامل، پايگاه داده با تغييرات کم و در کل اطلاعات حساسي که سرعت خواندن و امنيت بالا در آنها اولويت دارد و حجم نوشتن روي ديسک کم است.
◄ (RAID2 (Striping with hammer coding parity:
اين آرايه از Striping و Parity به طور همزمان استفاده ميکند. اين نوع RAID با تقسيم اطلاعات روي ۲ ديسک و نوشتن اطلاعات کنترلي خطا (ECC) روي ديسک ديگر در قالب بيتهاي داده ذخيره ميکند. نحوه محاسبه اطلاعات کنترلي خطا از الگوريتم هامر (Hammer Code) محاسبه ميشود. در هنگام خواندن، داده با اطلاعات کنترلي تطابق داده ميشود و اگر خطايي وجود داشته باشد، تصحيح ميشود. سرعت خواندن با توجه به Stripingداده در ۲ ديسک يا بيشتر افزايش چشمگيري يافته و با کنترل خطا کمي از آن کاسته ميشود. سرعت نوشتن هم تقريبا در حد خواندن است با اين تفاوت که محاسبه کد هامر کمي تاخير ايجاد ميکند. علاوه بر تصحيح خطا اين آرايه ميتواند با خارج شدن يکي از ديسکها به کار خود ادامه دهد.
مزايا: سرعت خواندن و نوشتن نسبتا خوب، تصحيح خطا در هنگام (به اصطلاح رو هوا! On the fly)
معايب: امنيت پايين نسبت به فضاي صرف شده براي Parity، هزينه بالاي کنترل کننده
کاربرد: تا به حال مورد استفاده کاربردي قرار نگرفته و توليد نشده است.
◄ (RAID3 (Striping with byte level parity:
از RAID2 تا RAID6 و احتمالا استانداردهاي آتي RAID از Striping و Parity استفاده ميشود. علت اصلي اين موضوع به صرفه نبودن استفاده از Mirroring در آنهاست. در اين نوع RAID، اطلاعات در قالب کلمات، به صورت استريپ شده روي حداقل ۲ ديسک نوشته ميشوند و Parity آن در ديسک يا ديسکهايي مجزا نوشته ميشود. اين نوع آرايه با خراب شدن يکي از ديسکها ميتواند به کار خود ادامه دهد.
مزايا: سرعت خواندن ترتيبي بالا، امنيت خوب، فضاي حاصل شده خوب
معايب: پيچيده بودن کنترل کننده لازم، سرعت بسيار پايين در خواندن و نوشتن تصادفي، کارايي بد در درخواستهاي خواندن و نوشتن چندتايي
◄ (RAID4 (Striping with block level parity:
همانند RAID3 عمل ميکند با اين تفاوت که به جاي خواندن و نوشتن در قالب کلمه، از بلاک يا استريپ داده استفاده ميکند. مانند RAID3 ديسکي مختص ذخيره Parity دارد. فضاي حاصله معادل جمع ديسکها منهاي يک ديسک فضاي Parity است. اين آرايه ظرفيت خرابي يکي از ديسکها را داراست.
مزايا: امنيت بهينه، فضاي حاصل شده خوب
معايب: سرعت نوشتن بد، سرعت خواندن در سطح ديسک تکي، بازسازي آرايه زمانبر و دشوار، پيچيدگي کنترل کننده لازم
کاربرد: با آمدن RAID5 کاربردي ندارد.
◄ (RAID5 (Striping with distributed parity:
مشابه آرايه نوع ۴ است با اين تفاوت که Parity آن در ديسکي خاص ذخيره نميشود و بين تمامي ديسکها پخش ميشود. اين نوع آرايه پر کاربردترين نوع در استفادههاي حرفهاي است چرا که از نظر کارايي و فضاي حاصله، تعادلي بهينه در آن برقرار است. پخش شدن اطلاعات Parity در ميان ديسکها باعث افزايش کارايي ميشود. اين آرايه به حداقل ۳ ديسک نياز دارد و ديسکهاي بيشتر براي استريپ کردن و بالا بردن کارايي کاربرد دارد. فضاي حاصله معادل جمع ديسکها منهاي يک ديسک فضاي Parity است. اين آرايه ظرفيت خرابي يکي از ديسکها را داراست.
مزايا: خواندن سريع، بهينه بودن فضاي حاصل نسبت به امنيت، امنيت خوب، تصحيح خطا
معايب: سرعت نوشتن پايينتر از RAID1، سرعت ترميم و تصحيح پايين، افت شديد کارايي در هنگام تصحيح
کاربرد: سرورهاي پايگاه داده، وب سرورها و عمده استفادههاي حرفهاي و تجاري
◄ (RAID6(Striping with dual distributed parity:
همان RAID5 است که دو سري Parity در آرايه ذخيره ميکند و امکان حفظ آرايه در نبود دو ديسک را ممکن ميکند. ظرفيت حاصل برابر جمع ديسکهاي عضو آرايه منهاي فضاي معادل دو ديسک Parity است.
مزايا: تمام مزاياي آرايه نوع ۵، امنيت بالاتر از RAID5، قابليت ادامه کار بدون دو ديسک
معايب: سرعت نوشتن پايين حتي نسبت به RAID5، نياز به کنترل کننده پيچيده و گرانقيمت، نياز به حداقل ۴ ديسک
اگر تعداد ديسکهاي خراب در آرايهاي بيش از ظرفيت تحمل آن آرايه باشد، آرايه در حالت Failed يا مختل قرار ميگيرد. در اين حالت ميتوان تمام اطلاعات داخل آرايه را از دست رفته قلمداد کرد.
تعداد ظرفيت تحمل RAID1، تعداد ديسکهاي آرايه منهاي يکي است، مثلا در آرايه نوع ۱ داراي ۲ ديسک، اگر ۱ ديسک خراب شود، آرايه ميتواند به کار خود ادامه دهد. در اين حالت که آرايه ديسکي را از دست داده ولي ميتواند به کار خود ادامه دهد را Degraded يا کاسته ميگويند.
حال اگر در آرايههاي از RAID5 دو ديسک همزمان آسيب ببيند، آرايه مختل ميشود. اگر يک ديسک دچار مشکل شود و تعويض شود، آرايه از حالت Degraded به حالت Rebuilding يا بازسازي در ميايد که در اين حالت RAID5 ديسک سوم را از روي دو ديسک ديگر عضو آرايه بازسازي ميکند. بايد در نظر داشته باشيد که اطلاعات روي ديسک جايگزين، پس از انجام فرايند کاملا از بين خواهد رفت. در حالت بازسازي کارايي RAID5 به شدت افت پيدا ميکند.
اگر ديسکهايي که عضو آرايه نيستند را عضوي از آرايه کنيد و يا آرايهها را به هم تبديل کنيد، آرايه در حالت Migrating يا ارتقا قرار ميگيرد. ممکن است اطلاعات روي ديسکها در اين حالت از بين بروند.
ديسکهاي تحت کنترل RAID، سه حالت دارند، يا عضو آرايهاند يا آزادند و يا ذخيره هستند. عضو آزاد به هيچ عنوان در آرايه استفاده نميشود مگر کاربر به طور دستي آرايه را براي اين کار تنظيم کند. عضو ذخيره در صورت از دست رفتن يکي از ديسکهاي آرايه، جايگزين ميشود.
براي مثال اگر ۴ ديسک داشته باشيم و آرايهاي از RAID5 شامل ۳ ديسک داشته باشيم، اگر يکي از ديسکهاي عضو آرايه آسيب ببيند و آرايه در حالت کاسته قرار گيرد، ديسک چهارم اگر ذخيره باشد ميتواند به طور خودکار جايگزين شود و آرايه را بازسازي کند اما اگر در حالت آزاد يا غيرعضو باشد، نميتواند.
لطفا ازوبلاگ من و همچنین وبسایت
IRANXPERIA.IR
بازدید فرماید
نظرات شما عزیزان: